package com.tm.pojo.vo;

/**
 * @author xiaobai
 * @create 2022-12-27 16:38
 *  附近店铺返回结果
 */
public class ShopVo {

    //店铺ID
    private Long shopId;
    //店铺名称
    private String shopName;
    //店铺电话
    private String shopPhone;
    //店铺照片
    private String shopImg;
    //详细地址
    private String shopAddressStr;
    //评级等级
    private String evaluationGrade;
    //与用户距离
    private Long userDistance;
    //用户是否光临过
    private Integer userPresence;
    //店铺评论次数
    private Integer commentCount;


    public ShopVo(Long shopId, String shopName, String shopPhone, String shopImg, String shopAddressStr, String evaluationGrade, Long userDistance, Integer userPresence, Integer commentCount) {
        this.shopId = shopId;
        this.shopName = shopName;
        this.shopPhone = shopPhone;
        this.shopImg = shopImg;
        this.shopAddressStr = shopAddressStr;
        this.evaluationGrade = evaluationGrade;
        this.userDistance = userDistance;
        this.userPresence = userPresence;
        this.commentCount = commentCount;
    }

    public ShopVo() {
    }

    private ShopVo(Builder builder) {
        setShopId(builder.shopId);
        setShopName(builder.shopName);
        setShopPhone(builder.shopPhone);
        setShopImg(builder.shopImg);
        setShopAddressStr(builder.shopAddressStr);
        setEvaluationGrade(builder.evaluationGrade);
        setUserDistance(builder.userDistance);
        setUserPresence(builder.userPresence);
        setCommentCount(builder.commentCount);
    }

    public Long getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    public String getShopPhone() {
        return shopPhone;
    }

    public void setShopPhone(String shopPhone) {
        this.shopPhone = shopPhone;
    }

    public String getShopImg() {
        return shopImg;
    }

    public void setShopImg(String shopImg) {
        this.shopImg = shopImg;
    }

    public String getShopAddressStr() {
        return shopAddressStr;
    }

    public void setShopAddressStr(String shopAddressStr) {
        this.shopAddressStr = shopAddressStr;
    }

    public String getEvaluationGrade() {
        return evaluationGrade;
    }

    public void setEvaluationGrade(String evaluationGrade) {
        this.evaluationGrade = evaluationGrade;
    }

    public Long getUserDistance() {
        return userDistance;
    }

    public void setUserDistance(Long userDistance) {
        this.userDistance = userDistance;
    }

    public Integer getUserPresence() {
        return userPresence;
    }

    public void setUserPresence(Integer userPresence) {
        this.userPresence = userPresence;
    }

    public Integer getCommentCount() {
        return commentCount;
    }

    public void setCommentCount(Integer commentCount) {
        this.commentCount = commentCount;
    }

    public static final class Builder {
        private Long shopId;
        private String shopName;
        private String shopPhone;
        private String shopImg;
        private String shopAddressStr;
        private String evaluationGrade;
        private Long userDistance;
        private Integer userPresence;
        private Integer commentCount;

        public Builder() {
        }

        public Builder shopId(Long val) {
            shopId = val;
            return this;
        }

        public Builder shopName(String val) {
            shopName = val;
            return this;
        }

        public Builder shopPhone(String val) {
            shopPhone = val;
            return this;
        }

        public Builder shopImg(String val) {
            shopImg = val;
            return this;
        }

        public Builder shopAddressStr(String val) {
            shopAddressStr = val;
            return this;
        }

        public Builder evaluationGrade(String val) {
            evaluationGrade = val;
            return this;
        }

        public Builder userDistance(Long val) {
            userDistance = val;
            return this;
        }

        public Builder userPresence(Integer val) {
            userPresence = val;
            return this;
        }

        public Builder commentCount(Integer val) {
            commentCount = val;
            return this;
        }

        public ShopVo build() {
            return new ShopVo(this);
        }
    }
}
